Various communication applications deliver content to multiple recipients over packet networks by transmitting multicast traffic. Applications of this sort include, for example, Internet Protocol Television (IPTV), as well as different applications that provide video and audio content. In order to avoid unnecessary congestion and processing load, it is often desirable not to flood content indiscriminately over the network, but to selectively forward multicast content to the appropriate recipients. A number of communication protocols can be used to introduce such selectivity. Two example protocols that can be used for this purpose are the Internet Group Management Protocol (IGMP) and the Multicast Listener Discovery (MLD) protocols.
IGMP is specified, for example, by Fenner in Request For Comments (RFC) 2236 of the Internet Engineering Task Force (IETF), entitled “Internet Group Management Protocol, Version 2,” November, 1997, and by Cain et al. in “Internet Group Management Protocol, Version 3,” RFC 3376, October, 2002, which are incorporated herein by reference. MLD is specified, for example, by Deering et al. in “Multicast Listener Discovery (MLD) for IPv6,” RFC 2710, October, 1999, and by Vida and Costa in “Multicast Listener Discovery Version 2 (MLDv2) for IPv6,” RFC 3810, June, 2004, which are incorporated herein by reference.
Additional aspects of IGMP and MLD are described by Christensen in “Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches,” RFC 4541, May, 2006, by Holbrook et al. in “Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast,” RFC 4604, August, 2006, and by Fenner et al. in “Internet Group Management Protocol (IGMP)/Multicast Listener Discovery (MLD)-Based Multicast Forwarding (‘IGMP/MLD Proxying’),” RFC 4605, August, 2006, which are incorporated herein by reference.